package com.leyou.item.service;

import com.leyou.common.dto.PageDTO;
import com.leyou.item.dto.SkuDTO;
import com.leyou.item.dto.SpecParamDTO;
import com.leyou.item.dto.SpuDTO;
import com.leyou.item.dto.SpuDetailDTO;

import java.util.List;

/**
 * @author ShenMin
 * @date 2021/7/18 11:10
 * @description
 */
public interface GoodsService {
    PageDTO listSpuByPage(Long bid, Long cid, Long spuid, Integer page, Integer rows, Boolean isSaleable);

    void addSpu(SpuDTO spuDTO);

    SpuDetailDTO querySpuDetailBySpuId(Long spuId);

    List<SkuDTO> querySkuListByIds(List<Long> ids);

    List<SkuDTO> querySkuListBySpuId(Long spuId);

    SpuDTO getSpuById(Long id);

    SpuDTO getSpuOnlyById(Long id);

    void updateSaleable(Long id, Boolean saleable);

    void updateSpu(SpuDTO spuDTO);

    List<SpecParamDTO> listSpecParamBySpuId(Long id, Boolean isSearch);
}
